In commercial and transactional printers it is common to apply color transformations on a per object-type (e.g., image, text, line-art, smooth-shade, etc.) basis. Generally, a color conversion resource consisting of a single lookup table (LUT) and multiple color caches are employed for such transformations. An implementation of multiple color caches is necessitated by each object type requiring a separate color cache. Thus when performing color conversion processing an input color, an object-type is first queried in order to select the corresponding color cache from a conversion resource. This cache is then searched for the input color. However, such cache color redundancy is wasteful and inefficient.
Moreover, this arrangement results in an inability to share interpolated colors between the independent caches. For instance, if an interpolation for an input color of one object type is added to the color cache corresponding to the object type, the input color must be re-interpolated if encountered for a different object type. While it would be possible to have just one color cache in which a label or mark would indicate with which object-type(s) a particular color may be associated, such an implementation would require additional memory and logic checking.
Accordingly, a mechanism to provide a single color cache to store color mappings for multiple object types is desired.